<?php

include_once 'CtlGeneral.php';

include_once '../entities/ServidorSocial.php';

class CtlTareasAsignadas extends CtlGeneral {
    
    public function __construct($param, $file) {
        
        switch ($param['opc']) {
            
            case 'menuPrinc': echo $this->listarGruposConTareas(2);
                break;
            
            case 'verTareasDeGrupo': echo $this->listarTareasDelServidorDeGrupo(2, $param['id']);
                break;
            
            case 'marcarComoHecha': echo $this->marcarActividadComoHecha($param['id']);
                                    echo $this->listarTareasDelServidorDeGrupo($param['idServ'], $param['idGrup']);
                break;
            
            default: echo "No ha seleccionado una opción valida";
        }
    }
    

    public function marcarActividadComoHecha ($idActividadServidor) {
        
        //Creamos un objeto de tipo ServidorSocial para invocar el método de cambio de estado a la tarea
        $servidor = new ServidorSocial();
        
        //Mandamos el ID de la tarea asignada y el estado que se va asignar
        if ($servidor->asignarEstadoDeTarea($idActividadServidor, 'H') == false) {
            echo $this->insertarTitulo( "Ha ocurrido un error al marcar como hecha esa tarea" );
        } else {
            echo $this->insertarTitulo( "Se ha marcado como hecha la tarea" );
        }
        
        $idGrupo = $servidor->obtenerGrupoPorIdActividadServidor($idActividadServidor);
        $idGrupo = $idGrupo['gridgrupo'];
        
        if ($this->verificarParaSubirNivelDeGrupo($idGrupo)) {
            echo $this->insertarTitulo("El grupo ha pasado al siguiente estado");
        } else {
            //echo $this->insertarTitulo("El grupo se mantiene en el mismo nivel");
        }
    }


    public function listarTareasDelServidorDeGrupo ($idServidor, $idGrupo) {
        //Creamos el objeto de tipo Servidor Social
        $servidorSocial = new ServidorSocial();
        //Obtenemos de la BD la lista de grupos con tareas asiganadas
        $listaTareasDeGrupo = $servidorSocial->listarTareasDeGrupos($idServidor, $idGrupo);
        
        echo $this->insertarTitulo( "Tareas asignadas para este grupo" );
                
                    echo "<br><input type='button' value='Regresar' onclick=\"ajax('controllers/CtlTareasAsignadas.php', 'menuPrinc', 'vacio', 'contenido')\">";
        
        //Cabecera de la tabla
        $tablaEnHTML = "<script type='text/javascript'>
                        ajax('controllers/gestionarCurriculum/CtlCurriculum.php', 'certi_listar', 'vacio', 'contenido');
                </script>
                <form id='servGrup' name='servGrup'>
                    <input type='hidden' name='idServ' value='$idServidor'>
                    <input type='hidden' name='idGrup' value='$idGrupo'>
                </form>
                <table class='tablas_sort'><thead>
                        <tr>
                            <th>Tarea Asignada</th>
                            <th>Estado</th>
                            <th>Opciones</th>
                        </tr></thead><tbody>";
        
        //Recorremos los valores de la tabla
        if ($listaTareasDeGrupo != false) foreach ($listaTareasDeGrupo as $tarea) {
            
            //Mostramos cada renglón de la tabla
            $tablaEnHTML .= 
                "<tr>
                    <td>$tarea[acgrnombre]</td>
                    <td>". ($tarea['acseestado'] == 'P' ? "Pendiente" : "Hecha") ."</td>
                    <td>".
                        ($tarea['acseestado'] == 'P' ? "<input type='button' value='Marcar como hecha'
                            onclick=\"confirmarTareaHecha($tarea[acseidactividadservidor])\" >" : "------------------")
                    ."</td>
                </tr>";
        }
        
        //Cerramos la tabla
        $tablaEnHTML .= "</tbody></table>";
        
        return $tablaEnHTML;
    }


    public function listarGruposConTareas ($idServidor) {
        
        //Creamos el objeto de tipo Servidor Social
        $servidorSocial = new ServidorSocial();
        //Obtenemos de la BD la lista de grupos con tareas asiganadas
        $listaGruposConTareas = $servidorSocial->listarGruposConTareas($idServidor);
        
        //Cabecera de la tabla
        $tablaEnHTML = $this->insertarTitulo( "Grupos con tareas asignadas" );
        
        $tablaEnHTML .= "<script type='text/javascript'>
                        ajax('controllers/gestionarCurriculum/CtlCurriculum.php', 'certi_listar', 'vacio', 'contenido');
                    </script>
                <table class='tablas_sort'><thead>
                        <tr>
                            <th>Curso/Taller</th>
                            <th>Sede</th>
                            <th width='100'>Fec. <br> de inicio</th>
                            <th>Fec. de <br>terminó</th>
                            <th>Estado del<br> grupo</th>
                            <th>Opciones</th>
                        </tr></thead><tbody>";
        
        $estado = '';
        
        //Recorremos los valores de la tabla
        if ($listaGruposConTareas != false) foreach ($listaGruposConTareas as $grupo) {
            
            switch ($grupo['grestado']) {
                
                case '0': $estado = 'Registrado';
                    break;
                
                case '1': $estado = 'Listo para <br>iniciar';
                    break;
                
                case '2': $estado = 'Iniciado';
                    break;
                
                case '3': $estado = 'Por cerrar';
                    break;
                
                case '4': $estado = 'Finalizado';
                    break;
                
                case 'X': $estado = 'Cancelado';
                    break;
                
                default : $estado = 'No definido';
            }
            
            //Mostramos cada renglón de la tabla
            $tablaEnHTML .=    
                "<tr>
                    <td>$grupo[cutanombre]</td>
                    <td>$grupo[grdirsede]</td>
                    <td>". date_format(date_create($grupo['grfecini']), 'd-m-Y') ."</td>
                    <td>". date_format(date_create($grupo['grfecfin']), 'd-m-Y') ."</td>
                    <td>$estado</td>
                    <td>
                        <input type='button' value='Ver Tareas'
                            onclick=\"ajaxConId('controllers/CtlTareasAsignadas.php', 'verTareasDeGrupo', 'vacio', 'contenido', '$grupo[gridgrupo]')\" >
                    </td>
                </tr>";
        }
        
        //Cerramos la tabla
        $tablaEnHTML .= "</tbody></table>";
        
        return $tablaEnHTML;
    }
}

new CtlTareasAsignadas (( isset($_POST['opc']) ? $_POST : $_GET ), $_FILES);
?>